.border {
  font-weight: 700;
  position: relative;
  vertical-align: middle;
  width: 100%;
}

.border::before, .border::after {
  box-sizing: inherit;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
}

.border {
  transition: color 0.25s;
}

.border::before, .border::after {
  border: 2px solid transparent;
  width: 0;
  height: 0;
}

.draw::before {
  top: 0;
  left: 0;
}

.draw::after {
  bottom: 0;
  right: 0;
}

.draw:hover::before, .draw:hover::after {
  width: 100%;
  height: 100%;
}

.draw:hover::before {
  border-top-color: #60daaa;
  border-right-color: #60daaa;
  transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
}

.draw:hover::after {
  border-bottom-color: #60daaa;
  border-left-color: #60daaa;
  transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
}

.meet::after {
  top: 0;
  left: 0;
}

.meet:hover::before {
  border-top-color: #60daaa;
  border-right-color: #60daaa;
}

.meet:hover::after {
  border-bottom-color: #60daaa;
  border-left-color: #60daaa;
  transition: height 0.25s ease-out, width 0.25s ease-out 0.25s;
}

.center::before, .center::after {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transform-origin: center;
  transform-origin: center;
}

.center::before {
  border-top: 2px solid #67cc86;
  border-bottom: 2px solid #67cc86;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
}

.center::after {
  border-left: 2px solid #67cc86;
  border-right: 2px solid #67cc86;
  -webkit-transform: scale3d(1, 0, 1);
  transform: scale3d(1, 0, 1);
}

.center:hover::before, .center:hover::after {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  transition: transform 0.5s, -webkit-transform 0.5s;
}